package com.yuw.othertools;

import java.util.Random;

import org.junit.jupiter.api.Test;

public class MathDemo {

	@Test
	public void test01() {
		double d0 = 3.14;
		double d1 = -3.14;
		System.out.println(Math.floor(d0)); // 3 向下取整
		System.out.println(Math.floor(d1)); // -4
		System.out.println(Math.ceil(d0)); // 4 向上取整
		System.out.println(Math.ceil(d1)); // -3
		
		System.out.println(Math.round(d0)); // 四舍五入
		
	}
	
	/**
	 * 随机数:返回带正号的 double 值，该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数，在该范围内（近似）均匀分布。 
	 * 生成的随机数范围：[0.0,1.0)
	 * 生成：1-10 之间的随机数
	 */
	@Test
	public void test02() {
		for(int i=0;i<10;i++) {
			int val = (int) (Math.random()*10 +1);
			System.out.println(val);
		}
		
	}
	
	/**
	 * 随机数:返回带正号的 double 值，该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数，在该范围内（近似）均匀分布。 
	 * 生成的随机数范围：[0.0,1.0)
	 * 生成：0-10 之间的随机数
	 */
	@Test
	public void test03() {
		for(int i=0;i<10;i++) {
			int val = (int) (Math.random()*11);
			System.out.println(val);
		}
		
	}
	
	/**
	 * 随机数:返回带正号的 double 值，该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数，在该范围内（近似）均匀分布。 
	 * 生成的随机数范围：[0.0,1.0)
	 * 生成：8-10 之间的随机数
	 */
	@Test
	public void test04() {
		for(int i=0;i<10;i++) {
			int val = (int) (Math.random()*3 +8);
			System.out.println(val);
		}
		
	}
	
	/**
	 * 随机数:返回带正号的 double 值，该值大于等于 0.0 且小于 1.0。返回值是一个伪随机选择的数，在该范围内（近似）均匀分布。 
	 * 生成的随机数范围：[0.0,1.0)
	 * 生成：8-10 之间的随机数
	 */
	@Test
	public void test05() {
		Random random = new Random(); 
		for(int i=0;i<10;i++) {
			int val = random.nextInt(3)+8;
			//int val = (int) (Math.random()*3 +8);
			System.out.println(val);
		}
	}
}
